#ifndef __TEXTURASBONUS_H__
#define __TEXTURASBONUS_H__

#include "Textura.h"

using namespace std;

/**
 * Clase cuya instancia representa un Bonus a mostrar en la pantalla
 */
class TexturasBonus : public TexturasPersonaje{

	// Carga la misma textura en todas las direcciones
	void cargarTexturaSimple(Textura* textura){
		this->inicializar();
		
		textura->getImagen()->redimensionar(Contenido::getAltoContenido(),Contenido::getAnchoContenido());
		
		Textura* texturaAbajo = textura->clonar();
		Textura* texturaIzq = textura->clonar();
		Textura* texturaDer = textura->clonar();

		//Los clono para no tener problemas al eliminar punteros
		this->arriba->agregar(textura);
		this->abajo->agregar(texturaAbajo);
		this->izquierda->agregar(texturaIzq);
		this->derecha->agregar(texturaDer);	
	}

public:

	// La textura por default
	// 
	TexturasBonus(const string& path, const string& alpha){
		Textura* textura = new Textura("BONUS", path ,0,0,0,0,alpha,0,0);
		this->cargarTexturaSimple(textura);
	}

	TexturasBonus(Textura* textura){
		this->cargarTexturaSimple(textura);
	}
};

#endif